//
//  BoxStickerView.h
//  StickerDemo
//
//  Created by jingliang on 2017/5/3.
//  Copyright © 2017年 井良. All rights reserved.
//

#import <UIKit/UIKit.h>

#define StickerHexRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]

// 四个角的控制按钮的宽度 高度值
#define BoxControlItemWidth 25.0
// 半宽度
#define BoxControlItemHalfWidth 12.5

#define BoxMinScale 0.5f
#define BoxMaxScale 3.0f

@protocol BoxStickerViewDelegate;

@interface BoxStickerView : UIView
// 是否显示删除按钮,默认显示,在非编辑状态,修改这个值没有效果
@property (assign, nonatomic) BOOL enabledDeleteControl;
// 是否显示右下角的按钮(主要作用是拖动放大和旋转),默认显示,在非编辑状态,修改这个值没有效果
@property (assign, nonatomic) BOOL enabledResizeControl;
// 是否显示右上角按钮(主要作用是讲图片进行翻转),默认显示,在非编辑状态,修改这个值没有效果
@property (assign, nonatomic) BOOL enabledRightTopControl;
// 是否显示左下角按钮(主要作用是进行复位),默认显示,在非编辑状态,修改这个值没有效果
@property (assign, nonatomic) BOOL enabledLeftBottomControl;
// 是否进入编辑状态,会显示根据四个按钮设置的显示不显示状态,来显示对应的按钮,(比如,四个按钮都设置了显示,那么进入编辑状态,会显示这四个按钮)
@property (assign, nonatomic) BOOL selected;
// 是否显示边框.
@property (assign, nonatomic) BOOL enabledBorder;

@property (weak,readonly) UILabel *contentLabel;
@property (assign, nonatomic) id<BoxStickerViewDelegate> delegate;

// 初始化方法
- (instancetype)initWithFrame:(CGRect)frame contentImage:(UIImage *)contentImage;
- (instancetype)initWithFrame:(CGRect)frame contentLabelFrame:(CGRect)contentLabelFrame contentImage:(UIImage *)contentImage;

@end

@protocol BoxStickerViewDelegate <NSObject>
@optional
- (void)stickerViewDidTapContentView:(BoxStickerView *)stickerView;
- (void)stickerViewDidTapDeleteControl:(BoxStickerView *)stickerView;
@end
